home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / networking / uucp / uupc / pc / changes.txt < prev    next >
Encoding:
Text File  |  1993-06-08  |  20.6 KB  |  490 lines

  1. Revision
  2.  
  3. This is the 158th revision of this document, and applies to
  4. UUPC/extended version 1.11z.  This was last updated on May 30, 1993 by
  5. Drew Derbyshire.
  6.  
  7.  
  8. Introduction
  9.  
  10. UUPC/extended is a PC based version (and pun of) UUCP (UNIX-to- UNIX
  11. copy).  UUPC/extended is a program which implements peer-to-peer
  12. networking for using the UNIX UUCP protocols.  MS-DOS or OS/2 based
  13. Personal Computers using these protocols can exchange mail and files
  14. with a UNIX system or other UUPC/extended system over dial up or
  15. dedicated phone lines.
  16.  
  17. This file summarizes most changes made to UUPC/extended since release
  18. 1.11v.  Please contact Drew Derbyshire, help@kew.com, for information on
  19. changes previous to the scope of this document or other questions.
  20.  
  21. Version 1.11z Revision Summary
  22.  
  23.  
  24. Bug Fixes
  25.  
  26. When UUSUB was invoked with the clear (-c) option, it wrote the cleared
  27. status file to the SpoolDir rather than the new directory for the file,
  28. the ConfDir.  Corrected this oversight in hostrset.c.  Also corrected
  29. reset of start of the collection time.
  30.  
  31. RNEWS snews mode processing failed to process input files in binary
  32. mode; corrected by forcing all input to be read in binary mode.
  33.  
  34. Corrected expand_path() so that path names beginning with tilde (~) end
  35. need not end with a slash (/).  This mostly affects UUCP file transfers.
  36.  
  37. Corrected of scrsize() to sanity check BIOS values for the screen size
  38. on systems running versions of DOS previous to DOS 4.0.  Previously,
  39. invalid screen sizes were not trapped on such older systems, causing the
  40. internal pager to require input after every line.
  41.  
  42. Corrected address parser to include the percent sign (%) in an address
  43. as a indicator of a non-local address.  Previously, such addresses were
  44. handled as invalid local users.\
  45.  
  46. Corrected bounce() processing to not recursively deliver mail to an
  47. invalid address such as the local postmaster.
  48.  
  49. Corrected system alias processing to use configuration directory as
  50. current directory rather than a possibly invalid user home directory
  51. pointer.  Also inserted altered system alias processing to call
  52. expand_path() to allow using ~user syntax in system alias include files.
  53.  
  54. Correct RMAIL to not use a debug level less than zero when initialing,
  55. which caused configuration failure messages to be suppressed (resulting
  56. in RMAIL beeping and dying without offering a clue as to why).
  57.  
  58. Corrected bug in UUPOLL which caused the program to spin for one second
  59. spitting out messages about waiting for zero seconds before running the
  60. daily clean up command.
  61.  
  62. Bill Plummer provided fix to COMMFIFO.ASM serial port driver to provide
  63. delay after selected modem command operations to allow slow modems to
  64. respond.
  65.  
  66. Corrected bug in syslog processing which caused the file to be
  67. prematurely closed and never reopened if multitask was not set.
  68.  
  69. When UUX generated a command for a remote system, it requested the
  70. command file be sent before any data the command needed.  Corrected this
  71. to sent the data first.
  72.  
  73.  
  74. Enhancements
  75.  
  76. Added -t option UUCICO to cause tracing of data received or sent to
  77. various communications drivers to the file LINEDATA.LOG in the Spool
  78. directory.  Previously, an undocumented feature would cause this tracing
  79. to be performed if the file already existed.
  80.  
  81. Added multiple parallel communications drivers support to UUCICO, and
  82. added new drivers for via FOSSIL and ARTICOMM controlled ports under
  83. DOS.  The FOSSIL support is enabled by installing a FOSSIL port driver
  84. (not supplied) and adding the keyword:
  85.  
  86.      suite=fossil
  87.  
  88. To the modem (*.MDM) file for the affected port.  Likewise, an ARTICOMM
  89. supported port is enabled by providing a suite=int14 keyword in the
  90. modem file for the port.
  91.  
  92. Rewrote syslog processing to display requester of a file, the remote
  93. system involved, and host (UNIX format) name.  The local (DOS) name is
  94. dropped from the log file.  Many thanks to Mark W. Schumann
  95. <mark@whizbang.wariat.org>, who provided the INT14 driver.
  96.  
  97. Added optional global keywords:
  98.  
  99.      Systems=       and
  100.      Passwd=
  101.  
  102. To UUPC.RC file.  These keywords define non-default locations of SYSTEMS
  103. and PASSWD files.  This allows unique (dummy) copies of these files to
  104. be used for client workstations without passwords on shared network
  105. environments.  The default location for these files remain in the
  106. UUPC/extended configuration directory.
  107.  
  108. Added new option keywords senddebug and honordebug.  In their default
  109. state, UUCICO neither transmits the current debug level to the remote
  110. system when calling, nor does it use the debug level sent by the remote
  111. system called.
  112.  
  113.     Note: The previous behavior was to not send the current
  114.           debugging level but to honor the remote system's debug
  115.           level.
  116.  
  117. Renamed hpfs option to longname, which more accurately describes its (as
  118. yet unimplemented) processing in support of longer file names on any
  119. file system which supports it.
  120.  
  121. Added new UUPC.RC keywords banner= and motd=, which define files
  122. displayed to remote users by UUCICO.  If defined, the file named as the
  123. banner is displayed before the login prompt.  Likewise, if defined the
  124. file named as the motd (message of the day) is displayed after a
  125. successful login only if the login shell is not UUCICO.
  126.  
  127. Modified loading of the PASSWD file to use the configuration directory
  128. drive as the default when determine the drive letter for home
  129. directories.  This allows omitting the drive letter within the PASSWD
  130. file.
  131.  
  132. Added new OS/2 command file, GETUUPC.CMD, which is called by the other
  133. OS/2 scripts to determine UUPC/extended configuration information.
  134.  
  135.  
  136. Version 1.11y Revision Summary
  137.  
  138.  
  139. Bless Snuffles for she has sinned.  She failed to keep track of all the
  140. contributors of bug fixes and enhancements for the 1.11y release.  But
  141. you know who you are, bless you all ...
  142.  
  143.  
  144. Bug Fixes
  145.  
  146. Dropped the beta test port of rn 4.3.  We're working on porting the
  147. newer rn 4.4, but neither source nor object for this is included in
  148. 1.11y.
  149.  
  150. Corrected bug in configuration processor which assumed all tables (i.e.
  151. the modem configuration table) were as long as the master configuration
  152. table.
  153.  
  154. Added specific error message for when local host name was improperly
  155. added to SYSTEMS file.  Formerly, UUCICO died gloriously with a
  156. (incorrect) message about a memory shortage in dcpsys.c.
  157.  
  158. Corrected configuration processing to load UUCP spool related variables
  159. for RNEWS.  Previously, RNEWS failed to load such information and thus
  160. ignored overrides of the default character set.
  161.  
  162. Modified directory search functions to support longer file names used by
  163. non-FAT (non-DOS) file systems and to return file time and size
  164. information to the caller; this implicitly fixes problems with programs
  165. such as EXPIRE running out of memory when running on network drives due
  166. to bugs in the Borland C++ stat() call, which no longer has to be used
  167. as much.
  168.  
  169. Modified UUCICO status file processing to lock the status file to avoid
  170. overlapping updates.  Previously, race conditions could cause the file
  171. to be reset by mistake.
  172.  
  173. Corrected printmsg() to use unique buffer for time stamp information in
  174. log file; formerly, the default static buffer used by various
  175. subroutines would be overwritten with the current time when logging.
  176.  
  177. Made return codes from RMAIL more unique to allow better debugging of
  178. failed mail.
  179.  
  180. In RNEWS, redid processing performed by SNEWS option to make it even
  181. dumber.
  182.  
  183.     Note: SNEWS processing is still broken in 1.11y because the
  184.           file is read in text, not binary, mode.
  185.  
  186. Rewrote RNEWS batched news processing to correctly process files under
  187. 512 bytes.  Formerly, such articles and all articles following were
  188. dropped.
  189.  
  190. Upped maximum length of news group names in RNEWS to keep it from dying
  191. when brain dead lusers create news groups with excessive length names.
  192.  
  193. Corrected OS/2 WAITING command to load needed subroutine packages before
  194. using them.
  195.  
  196. Corrected UUPOLL bug which caused it to exit with a return code 0 no
  197. matter how it was terminated.
  198.  
  199. Corrected UUPOLL bug which caused it to not terminate at the correct
  200. time if both the -e and -f flags were specified.
  201.  
  202. Added fix to COMMFIFO.ASM from William Plummer to fix incorrect assembly
  203. of references to COMMFIFO error counts.
  204.  
  205. Modified UUCICO 'g' protocol processor to use FAR memory for packet
  206. buffers to reduce number of out of memory errors under 16 bit DOS and
  207. OS/2 compilers.
  208.  
  209. Modified UUCICO 'g' protocol processor to correctly neogiate packet
  210. sizes with remote systems, thus allowing the remote system to send the
  211. local system larger packet than the local system can send the remote.
  212. (Error pointed out by Ian Taylor.)
  213.  
  214. Corrected sample modem files to NOT enable variablepacket processing by
  215. default.
  216.  
  217. Corrected UUCICO to not update host status if host information was not
  218. initialized during a passive poll.
  219.  
  220. Corrected syslog option to only set buffering once for the log file if
  221. not multi-tasking.  This bug caused 1.11x to repeatively report that
  222. SYSLOG file was not found when, in fact, it was fine.
  223.  
  224. Corrected UUCICO modem processing to flag that graceful shutdown was
  225. needed for OS/2 versions of UUCICO.  Previously, it exited immediately
  226. without closing the serial port.
  227.  
  228. Corrected UUCICO modem processing to invoke carrier detect processing
  229. whenever the modem connects.  This was previously missed for hot logins.
  230.  
  231. Corrected UUCICO carrier detection processing for OS/2 communications
  232. driver.  It previously OR'ed modem status information rather than
  233. AND'ing it, allowing a half-ready modem to appear ready.
  234.  
  235. Modified UUCICO to trap unique error code returned by SIO serial port
  236. driver under OS/2 when interrupted.  Interruptions of the read system
  237. call are not really errors, and the default error message alarmed
  238. Snuffles.
  239.  
  240. Corrected UUSTAT to not de-reference NULL pointers when killing queued
  241. jobs.
  242.  
  243.  
  244. Enhancements
  245.  
  246. Dave Watt <dmwatt@smersh.cambridge.ma.us>, with assistance from Evan
  247. Ross <evan@valentine.com>, made numerous additional changes to round out
  248. the Windows/NT support.  One visible change is that UUPC.RC and
  249. PERSONAL.RC can be prefixed with WIN32. to cause the line take effect
  250. only under Windows/NT.
  251.  
  252. The ConfDir variable is now optional.  If the ConfDir is omitted from
  253. UUPC.RC, its value is taken from the directory for the UUPC.RC file
  254. specified in the UUPCSYSRC environment variable.
  255.  
  256. The directories (except the user's home directory) in the UUPC.RC and
  257. PERSONAL.RC file can now be omitted or made relative to the ConfDir; if
  258. omitted, they are assumed be sub-directories of the ConfDir with default
  259. names.  The user's home directory may be relative to the ConfDir, but it
  260. must not be omitted.
  261.  
  262. Added new configuration variables OS2.priority and OS2.prioritydelta.
  263. These specify the OS/2 priority of UUCICO when connected in the range 1
  264. through 4, and a sub-priority of 0 through 62.
  265.  
  266. Added new boolean option bounce; when enabled, this causes undeliverable
  267. mail to be returned to the sender (as determined by UUXQT and/or by the
  268. UUCP From line) with a copy to the local Postmaster.
  269.  
  270. William Plummer <plummer@theme.com> made various additional changes to
  271. the test driver for DOS COMMFIFO package.
  272.  
  273. Per request of Katherine Derbyshire <docs@kew.com>, modified GENSIG to
  274. print out a more useful message about the quote selected, specifically
  275. including the output file name.
  276.  
  277.  
  278. Versions 1.11w through 1.11x Revision Summary
  279.  
  280. Bug Fixes
  281.  
  282. Corrected bug in local delivery routine which failed to detect a letter
  283. followed by a colon in a FORWARD file was the beginning of a path name.
  284. This fix was supplied by Russ Nelson.
  285.  
  286. Modified internal pager to not scroll top line off the screen when the
  287. display is aborted.
  288.  
  289. Corrected RMAIL usage message to display all the operands allowed
  290. command's rich syntax.  Fix supplied by Russ Nelson.
  291.  
  292. Modified CHDIR to attempt directory change before invoking MKDIR to
  293. build the directory to change to.  This should be faster, since a
  294. directory will always exist after the first CHDIR to it.
  295.  
  296. import_path() mangled valid paths under certain conditions.  Modified
  297. the routine to properly convert path names with a single character in
  298. the path and/or terminated by a slash.
  299.  
  300. Corrected import_newsgroup() to not pad the numbers generated as part of
  301. names of DOS news articles.  Fix provided by Kai-Uwe Rommel.
  302.  
  303. Corrected via spool directory search routines to correctly handle
  304. interrupted searches when a connection to a host is lost.  Previously,
  305. if a search was not determined to be interrupted, export_path() would
  306. catch the bad file name and abort the program ... usually.
  307.  
  308. Corrected included strlwr() function to lower case the string, not upper
  309. case it.  This problem only affected users using unsupported compilers
  310. which lacked this function in their run time library.
  311.  
  312. Modified RNEWS to not shadow or otherwise process an empty compressed
  313. input file.
  314.  
  315. Modified RNEWS to not shadow or otherwise process an empty compressed
  316. input file; also corrected the file name in various error messages
  317. related to uncompress processing.
  318.  
  319. Modified RNEWS to report when it has to delete an article, and to
  320. summary number of articles dropped.
  321.  
  322. Modified RNEWS to report specific error messages via printerr(), when it
  323. is unable to process a file.
  324.  
  325. Modified RNEWS to write news in the proper news directory when the snews
  326. flag is set.  Fix supplied by Kai-Uwe Rommel.
  327.  
  328. Applied numerous minor fixes to RNEWS supplied by Kai-Uwe Rommel.
  329.  
  330. Corrected EXPIRE to properly expiring one news group via the -n flag;
  331. fix supplied by Kai-Uwe Rommel.
  332.  
  333. UUPOLL would be confused by 25 hour days caused by the end of Daylight
  334. savings time and attempt to poll continuously during the last hour of
  335. such a day.  Corrected UUPOLL to realize not all days are created equal,
  336. and to correctly compute the next poll as the first poll of the
  337. following days.
  338.  
  339. Altered numerous files to be unbuffered, saving on memory and reducing
  340. memory to memory copying of data.
  341.  
  342. Deleting extra lock files was a major performance hit under OS/2 with
  343. UNDELETE processing enabled.  Corrected UUCICO and UUXQT lock processing
  344. to not lock systems without reason.
  345.  
  346. Suppressed closing UUCICO warning message about unable to connect to
  347. remote when the program was only answering the phone.
  348.  
  349. Made UUCICO 'G' protocol use packets of fixed size to be more compatible
  350. with System V Release 4 UUCP.
  351.  
  352. Made unique entries in the modem (*.MDM) file for entries for the ''g",
  353. "G", and "v" protocol options.  Also added largepacket modem file option
  354. for "g" protocol to enable large packet processing under this protocol.
  355.  
  356. Added new UUCICO 'v' protocol, which is 'g' protocol with optionally
  357. large (512) byte variable length packets.  This protocol is only
  358. supported by other UUPC/extended systems.
  359.  
  360. Corrected two problem with 'g' protocol start-up, from problem
  361. descriptions provided by Ian Lance Taylor, author of Taylor UUCP.  Both
  362. fixes provide for insuring one system does not get ahead of the other,
  363. that is one system thinks it has initialized the connection when the
  364. other has not.
  365.  
  366. Corrected UUCICO to not abort when fields are missing from the SYSTEMS
  367. file.  This was based on an original fix by Eugene Nesterenko, Moscow,
  368. Russia.
  369.  
  370. Corrected various UUCICO start-up error messages to display at debug
  371. level 0, not 1. Thanks to Bill Plummer for pointing this out.
  372.  
  373. UUCICO would previously reject anonymous UUCP connections if the local
  374. system was running a high debug level.  Corrected UUCICO to not confuse
  375. local and remote debug levels.
  376.  
  377. Modified UUCICO to use a single data transfer buffer for data input and
  378. output as well as a command buffer, thus allowing this buffer to be
  379. bigger.
  380.  
  381. Modified UUNAME to accept the debug level (-x) option; this was
  382. embarrassing since the upgrade instructions specifically said to use
  383. this option to determine obsolete keywords in the UUPC.RC file.
  384.  
  385. Corrected UUXQT to send mail to the originator of a UUX job, not the
  386. local postmaster; also corrected UUXQT to not mangle the dummy input
  387. file name NUL and then be unable to open the mangled name.  Fixes
  388. supplied by Charles R. (C.  R.)  Oldham of Arizona State University.
  389.  
  390. Corrected UUSUB to reset the starting time of statistics collection when
  391. clearing all totals.
  392.  
  393. Corrected UUXQT to report why RMAIL dies, not just that it failed.
  394.  
  395. Correct RMAIL to not close its own log file, instead leaving this task
  396. to the common logging functions.
  397.  
  398.  
  399. Enhancements
  400.  
  401. Dave Watt ported the entire source to Windows/NT.  Note this platform
  402. has been not been tested, and executables are not supplied at this time.
  403. Problems are specifically known to exist in creation of the HOSTSTATUS
  404. file.
  405.  
  406. Dave Watt also wrote DESQView support.  UUPOLL and UUCICO give up the
  407. CPU when idle.
  408.  
  409. Added a number of new sample configuration sample files, including a
  410. sample PERMISSN file and copies of several files used on kendra.
  411.  
  412. Modified configuration file routines and expand_path() to use run time
  413. library supplied functions to normalize directory paths; this allows
  414. determining the path on drives other than the current drive.
  415.  
  416.     Note: Because of this change, placing floppy diskette drive
  417.           letters in the PERMISSN file can cause the system to
  418.           hang when it attempts to determine the current
  419.           directory on the drive.
  420.  
  421. Rewrote the OS/2 versions of UUIO, UUCLEAN and WAITING commands into
  422. REXX, made enhancements including using the UUPC/extended environment
  423. variables and aging files based on size.
  424.  
  425. Added MAILCHEK command from Evan Champion <evanc@uuisis.isis.org> to
  426. provide running report of mail waiting in an OS/2 window using Visual
  427. REXX.  (This command does not exist under DOS.)
  428.  
  429. Modified FOPEN() to automatically retry failed file opens for 20 seconds
  430. if the error is a sharing violation.  Also modified openline() and
  431. lock_system() to not use this retry processing.
  432.  
  433. Moved HOSTATUS file from spool directory to configuration directory, and
  434. moved news ACTIVE file from news directory to configuration directory.
  435. This allows easily backing up these files without backing up the news or
  436. spool directories.
  437.  
  438. Modified majority of permanent string allocations to use newly written
  439. routine strpool(), which allocates memory in larger blocks, thus
  440. bypassing malloc() space overhead.  Routine also searches duplicates in
  441. strings to avoid allocating the same string twice.  If running at debug
  442. level 2 or above, a summary message of the memory used (and saved) is
  443. printed.  Also, added new boolean option SpeedOverMemory to bypass the
  444. duplicate string scan on slower systems.
  445.  
  446. Wrote support for a system wide user aliases file.  This file, used only
  447. by RMAIL, allows forwarding for users and/or mailing lists to be defined
  448. without adding the local address to the PASSWD file, resulting in
  449. improved efficiency for other programs which use the PASSWD file such as
  450. MAIL and UUCICO.  Use of the system wide alias file also eliminates the
  451. need for dummy home directories containing forward files, resulting 4
  452. kilobytes disk savings per forwarded user.  This support was based on a
  453. prototype supplied by Russ Nelson.
  454.  
  455. Modified MAIL to print the numbers of items deleted by the delete
  456. command on one line to keep the screen from scrolling madly.  Also,
  457. items previously deleted are not listed a second time.
  458.  
  459. Added number items in the mailbox to the MAIL status command.
  460.  
  461. Added "Path:", "Lines:", and "References:"  to the list of items ignored
  462. by the internal mail pager used by the print command.
  463.  
  464. Under OS/2 and DOS 4.0 or above, the internal pager now uses the true
  465. screen size to determine the number of lines to scroll.  This allows
  466. exploiting 50 VGA screens or odd-sized OS/2 windows.
  467.  
  468. Modified loading of ACTIVE file by news processing to not build
  469. directories for empty news groups.  So long as the target directories
  470. are build by the routine posting news (i.e.  RNEWS uses FOPEN()), then
  471. the directories will be created on demand.
  472.  
  473. Enhanced EXPIRE to report bytes and articles processed, including totals
  474. for data purged, moved, or left eating disk space.  Running EXPIRE at
  475. debug level 2 (-x 2) will report this information on a per group level.
  476.  
  477. Modified UUPOLL to report when the UUCLEAN command is scheduled to next
  478. run at startup.
  479.  
  480. Modified UUCICO processing enabled by the syslog option to work with the
  481. multitask option.  Specifically, the SYSLOG is only opened when needed
  482. in multitasking mode and closed immediately.
  483.  
  484. Modified OS/2 communications support to show communications port errors
  485. in English.  Also added a ShowModem() function to OS/2 communications
  486. support to show modem status in English.
  487.  
  488. Under OS/2, increased modem recover time from 0.5 seconds to 2.0 seconds
  489. after hanging up the telephone.
  490.